const path = require("path");
const htmlWebpackPlugin = require("html-webpack-plugin");
const {VueLoaderPlugin} = require("vue-loader");

module.exports = {
    entry:path.join(__dirname,"./src/main.js"),
    output: {
        path:path.join(__dirname,"./dist"),
        filename:"bundle.js"
    },
    plugins:[
        new htmlWebpackPlugin({
            template:path.join(__dirname,"./src/index.html")
        }),
        new VueLoaderPlugin(),
    ],
    module:{
        rules:[
            {test:/\.css$/,use:["style-loader","css-loader"]},
            {test:/\.less$/,use:['style-loader','css-loader','less-loader']},
            {test:/\.scss$/,use:['style-loader','css-loader','sass-loader']},
            {test:/\.(jpg|png|gif|bmp|jpeg|ttf)$/,use:'url-loader?limit=109278&name=[hash:8]-[name].[ext]'},
            {test:/\.js$/,use:'babel-loader',exclude:/node_modules/},
            {test:/\.vue$/,use:'vue-loader'},
            /*{test:/\.eot(\?v=\d+\.\d+\.\d+)?$/,use:"file"},
            {test:/\.(woff|woff2)$/, use:"url?prefix=font/&limit=5000" },
            {test:/\.ttf(\?v=\d+\.\d+\.\d+)?$/, use:"url?limit=10000&mimetype=application/octet-stream"},
            {test:/\.svg(\?v=\d+\.\d+\.\d+)?$/, use:"url?limit=10000&mimetype=image/svg+xml"}*/
        ]
    },
    resolve:{
        alias:{
            "vue$":"vue/dist/vue.js"
        }
    }
};